home *** CD-ROM | disk | FTP | other *** search
/ Eagles Nest BBS 8 / Eagles_Nest_Mac_Collection_Disc_8.TOAST / Developer Environments / AAISProlog / Examples / pie chart.p < prev    next >
MacBinary  |  1992-05-25  |  10.9 KB  |  [TEXT/AIFC]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert ZX81 Sinclair BASIC (image/sinclairBASIC) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert bsdiff patch (other/bsdiffPatch) ext Unsupported
1% dexvert imgdiff patch (other/imgdiffPatch) ext Unsupported
1% dexvert WSUS Patch Storage File (other/wsusPatchStorageFile) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Mon May 25 21:31:20 1992, modified Mon May 25 21:31:20 1992, creator 'AIFC', type ASCII, 10542 bytes "pie chart.p" , at 0x29ae 380 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[AIFC]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 70 69 65 20 63 68 | 61 72 74 2e 70 00 00 00 |..pie ch|art.p...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 41 49 46 | 43 01 00 00 00 00 00 00 |.TEXTAIF|C.......|
|00000050| 00 00 00 00 00 29 2e 00 | 00 01 7c a6 47 45 68 a6 |.....)..|..|.GEh.|
|00000060| 47 45 68 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |GEh.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 2e 1a 00 00 |........|........|
|00000080| 2f 2a 0d 20 2a 20 50 69 | 65 20 43 68 61 72 74 2e |/*. * Pi|e Chart.|
|00000090| 70 3a 20 0d 20 2a 20 43 | 72 65 61 74 65 20 61 20 |p: . * C|reate a |
|000000a0| 77 69 6e 64 6f 77 20 77 | 68 69 63 68 20 74 61 6b |window w|hich tak|
|000000b0| 65 73 20 69 6e 70 75 74 | 20 6f 66 20 35 20 76 61 |es input| of 5 va|
|000000c0| 6c 75 65 73 20 61 6e 64 | 20 6d 61 6b 65 73 20 61 |lues and| makes a|
|000000d0| 20 70 69 65 20 63 68 61 | 72 74 2e 0d 20 2a 0d 20 | pie cha|rt.. *. |
|000000e0| 2a 20 43 6f 70 79 72 69 | 67 68 74 2c 20 a9 20 31 |* Copyri|ght, . 1|
|000000f0| 39 39 32 20 41 64 76 61 | 6e 63 65 64 20 41 2e 20 |992 Adva|nced A. |
|00000100| 49 2e 20 53 79 73 74 65 | 6d 73 2c 20 49 6e 63 2e |I. Syste|ms, Inc.|
|00000110| 0d 20 2a 20 41 6c 6c 20 | 72 69 67 68 74 73 20 72 |. * All |rights r|
|00000120| 65 73 65 72 76 65 64 2e | 0d 20 2a 20 54 68 69 73 |eserved.|. * This|
|00000130| 20 66 69 6c 65 20 6d 61 | 79 20 6e 6f 74 20 62 65 | file ma|y not be|
|00000140| 20 63 6f 70 69 65 64 20 | 6f 72 20 64 69 73 74 72 | copied |or distr|
|00000150| 69 62 75 74 65 64 20 77 | 69 74 68 6f 75 74 20 74 |ibuted w|ithout t|
|00000160| 68 65 20 77 72 69 74 74 | 65 6e 0d 20 2a 20 70 65 |he writt|en. * pe|
|00000170| 72 6d 69 73 73 69 6f 6e | 20 6f 66 20 41 64 76 61 |rmission| of Adva|
|00000180| 6e 63 65 64 20 41 2e 20 | 49 2e 20 53 79 73 74 65 |nced A. |I. Syste|
|00000190| 6d 73 2c 20 49 6e 63 2e | 0d 20 2a 2f 0d 2f 2a 0d |ms, Inc.|. */./*.|
|000001a0| 20 2a 20 54 68 69 73 20 | 66 69 6c 65 20 6f 6e 6c | * This |file onl|
|000001b0| 79 20 77 6f 72 6b 73 20 | 69 6e 20 61 61 69 73 20 |y works |in aais |
|000001c0| 6d 6f 64 65 2e 0d 20 2a | 2f 0d 3a 2d 20 61 61 69 |mode.. *|/.:- aai|
|000001d0| 73 5f 6d 6f 64 65 2e 0d | 3a 2d 20 6e 6f 5f 73 74 |s_mode..|:- no_st|
|000001e0| 79 6c 65 5f 63 68 65 63 | 6b 20 64 69 66 66 65 72 |yle_chec|k differ|
|000001f0| 65 6e 74 5f 66 69 6c 65 | 2e 0d 2f 2a 0d 20 2a 20 |ent_file|../*. * |
|00000200| 41 20 62 61 73 69 63 20 | 66 75 6e 63 74 69 6f 6e |A basic |function|
|00000210| 20 66 6f 72 20 70 75 74 | 74 69 6e 67 20 61 20 6c | for put|ting a l|
|00000220| 61 62 65 6c 20 75 70 20 | 69 6e 20 74 68 65 20 77 |abel up |in the w|
|00000230| 69 6e 64 6f 77 2e 0d 20 | 2a 2f 0d 6c 61 62 65 6c |indow.. |*/.label|
|00000240| 28 54 65 78 74 2c 20 57 | 69 6e 64 6f 77 2c 20 4c |(Text, W|indow, L|
|00000250| 6f 63 2c 20 53 69 7a 65 | 29 20 3a 2d 0d 20 20 20 |oc, Size|) :-. |
|00000260| 20 63 72 65 61 74 65 28 | 64 69 73 70 6c 61 79 5f | create(|display_|
|00000270| 74 65 78 74 2c 20 5f 2c | 4c 6f 63 2c 20 57 69 6e |text, _,|Loc, Win|
|00000280| 64 6f 77 2c 20 0d 20 20 | 20 20 09 54 65 78 74 2c |dow, . | .Text,|
|00000290| 20 5b 5d 2c 20 67 65 6e | 65 76 61 2c 20 53 69 7a | [], gen|eva, Siz|
|000002a0| 65 2c 20 5f 2c 20 66 61 | 6c 73 65 29 2e 0d 0d 2f |e, _, fa|lse).../|
|000002b0| 2a 0d 20 2a 20 43 72 65 | 61 74 65 20 61 20 6c 61 |*. * Cre|ate a la|
|000002c0| 62 65 6c 2c 20 61 20 76 | 61 6c 75 65 20 65 6e 74 |bel, a v|alue ent|
|000002d0| 72 79 20 62 6f 78 20 61 | 6e 64 20 61 20 64 65 73 |ry box a|nd a des|
|000002e0| 63 72 69 70 74 69 6f 6e | 20 65 6e 74 72 79 20 62 |cription| entry b|
|000002f0| 6f 78 2e 0d 20 2a 2f 09 | 0d 65 6e 74 65 72 5f 62 |ox.. */.|.enter_b|
|00000300| 6f 78 28 57 69 6e 64 6f | 77 2c 20 54 6f 70 2c 20 |ox(Windo|w, Top, |
|00000310| 4c 61 62 65 6c 2c 20 5b | 42 6f 78 2c 20 54 65 78 |Label, [|Box, Tex|
|00000320| 74 5d 29 20 3a 2d 0d 09 | 6c 61 62 65 6c 28 4c 61 |t]) :-..|label(La|
|00000330| 62 65 6c 2c 20 57 69 6e | 64 6f 77 2c 20 5b 54 6f |bel, Win|dow, [To|
|00000340| 70 2c 20 35 2c 20 54 6f | 70 2b 31 36 2c 20 35 35 |p, 5, To|p+16, 55|
|00000350| 5d 2c 20 31 30 29 2c 0d | 09 63 72 65 61 74 65 28 |], 10),.|.create(|
|00000360| 70 6f 73 5f 69 6e 74 5f | 65 6e 74 72 79 2c 20 42 |pos_int_|entry, B|
|00000370| 6f 78 2c 20 5b 54 6f 70 | 2c 20 36 30 2c 20 54 6f |ox, [Top|, 60, To|
|00000380| 70 2b 31 34 2c 20 31 30 | 30 5d 2c 20 57 69 6e 64 |p+14, 10|0], Wind|
|00000390| 6f 77 2c 0d 09 09 66 61 | 6c 73 65 2c 20 66 61 6c |ow,...fa|lse, fal|
|000003a0| 73 65 2c 20 74 72 75 65 | 2c 20 66 61 6c 73 65 2c |se, true|, false,|
|000003b0| 20 5f 29 2c 0d 09 73 65 | 74 5f 66 6f 6e 74 28 42 | _),..se|t_font(B|
|000003c0| 6f 78 2c 20 6d 6f 6e 61 | 63 6f 2c 20 39 29 2c 0d |ox, mona|co, 9),.|
|000003d0| 09 63 72 65 61 74 65 28 | 74 65 78 74 5f 65 6e 74 |.create(|text_ent|
|000003e0| 72 79 2c 20 54 65 78 74 | 2c 20 5b 54 6f 70 2c 20 |ry, Text|, [Top, |
|000003f0| 31 30 35 2c 20 54 6f 70 | 2b 31 34 2c 20 32 30 35 |105, Top|+14, 205|
|00000400| 5d 2c 20 57 69 6e 64 6f | 77 2c 0d 09 09 66 61 6c |], Windo|w,...fal|
|00000410| 73 65 2c 20 66 61 6c 73 | 65 2c 20 74 72 75 65 2c |se, fals|e, true,|
|00000420| 20 66 61 6c 73 65 29 2c | 0d 09 73 65 74 5f 66 6f | false),|..set_fo|
|00000430| 6e 74 28 54 65 78 74 2c | 20 6d 6f 6e 61 63 6f 2c |nt(Text,| monaco,|
|00000440| 20 39 29 2e 0d 09 09 0d | 63 72 65 61 74 65 5f 65 | 9).....|create_e|
|00000450| 6e 74 72 79 5f 73 65 63 | 74 69 6f 6e 28 57 69 6e |ntry_sec|tion(Win|
|00000460| 64 6f 77 2c 20 5b 42 31 | 2c 20 42 32 2c 20 42 33 |dow, [B1|, B2, B3|
|00000470| 2c 20 42 34 2c 20 42 35 | 5d 29 20 3a 2d 0d 09 6c |, B4, B5|]) :-..l|
|00000480| 61 62 65 6c 28 22 56 61 | 6c 75 65 73 3a 22 2c 57 |abel("Va|lues:",W|
|00000490| 69 6e 64 6f 77 2c 20 5b | 36 30 2c 20 36 30 2c 20 |indow, [|60, 60, |
|000004a0| 37 35 2c 20 31 30 30 5d | 2c 20 31 30 29 2c 0d 09 |75, 100]|, 10),..|
|000004b0| 6c 61 62 65 6c 28 22 4c | 61 62 65 6c 73 3a 22 2c |label("L|abels:",|
|000004c0| 20 57 69 6e 64 6f 77 2c | 20 5b 36 30 2c 20 31 30 | Window,| [60, 10|
|000004d0| 35 2c 20 37 35 2c 20 32 | 30 35 5d 2c 20 31 30 29 |5, 75, 2|05], 10)|
|000004e0| 2c 0d 09 65 6e 74 65 72 | 5f 62 6f 78 28 57 69 6e |,..enter|_box(Win|
|000004f0| 64 6f 77 2c 20 38 30 2c | 20 22 56 61 6c 75 65 20 |dow, 80,| "Value |
|00000500| 23 31 3a 22 2c 20 42 31 | 29 2c 0d 09 65 6e 74 65 |#1:", B1|),..ente|
|00000510| 72 5f 62 6f 78 28 57 69 | 6e 64 6f 77 2c 20 31 30 |r_box(Wi|ndow, 10|
|00000520| 30 2c 20 22 56 61 6c 75 | 65 20 23 32 3a 22 2c 20 |0, "Valu|e #2:", |
|00000530| 42 32 29 2c 0d 09 65 6e | 74 65 72 5f 62 6f 78 28 |B2),..en|ter_box(|
|00000540| 57 69 6e 64 6f 77 2c 20 | 31 32 30 2c 20 22 56 61 |Window, |120, "Va|
|00000550| 6c 75 65 20 23 33 3a 22 | 2c 20 42 33 29 2c 0d 09 |lue #3:"|, B3),..|
|00000560| 65 6e 74 65 72 5f 62 6f | 78 28 57 69 6e 64 6f 77 |enter_bo|x(Window|
|00000570| 2c 20 31 34 30 2c 20 22 | 56 61 6c 75 65 20 23 34 |, 140, "|Value #4|
|00000580| 3a 22 2c 20 42 34 29 2c | 0d 09 65 6e 74 65 72 5f |:", B4),|..enter_|
|00000590| 62 6f 78 28 57 69 6e 64 | 6f 77 2c 20 31 36 30 2c |box(Wind|ow, 160,|
|000005a0| 20 22 56 61 6c 75 65 20 | 23 35 3a 22 2c 20 42 35 | "Value |#5:", B5|
|000005b0| 29 2e 0d 09 0d 3a 2d 20 | 63 72 65 61 74 65 28 77 |)....:- |create(w|
|000005c0| 69 6e 64 6f 77 5f 74 79 | 70 65 2c 20 5f 2c 20 70 |indow_ty|pe, _, p|
|000005d0| 69 65 5f 63 68 61 72 74 | 5f 77 69 6e 64 6f 77 2c |ie_chart|_window,|
|000005e0| 20 62 61 73 69 63 5f 77 | 69 6e 64 6f 77 2c 0d 09 | basic_w|indow,..|
|000005f0| 5b 76 61 6c 75 65 5f 62 | 6f 78 65 73 20 3d 20 70 |[value_b|oxes = p|
|00000600| 72 6f 6c 6f 67 5f 64 61 | 74 61 2c 20 64 65 73 63 |rolog_da|ta, desc|
|00000610| 72 69 70 74 69 6f 6e 5f | 62 6f 78 65 73 20 3d 20 |ription_|boxes = |
|00000620| 70 72 6f 6c 6f 67 5f 64 | 61 74 61 5d 2c 20 0d 09 |prolog_d|ata], ..|
|00000630| 63 72 65 61 74 65 5f 70 | 69 65 5f 63 68 61 72 74 |create_p|ie_chart|
|00000640| 5f 77 69 6e 64 6f 77 2f | 31 2c 0d 09 74 72 75 65 |_window/|1,..true|
|00000650| 2c 20 2d 31 2c 20 74 72 | 75 65 2c 20 74 72 75 65 |, -1, tr|ue, true|
|00000660| 2c 20 74 72 75 65 29 2e | 0d 0d 2f 2a 0d 20 2a 20 |, true).|../*. * |
|00000670| 54 68 69 73 20 69 73 20 | 74 68 65 20 69 6e 69 74 |This is |the init|
|00000680| 69 61 6c 69 7a 61 74 69 | 6f 6e 20 66 75 6e 63 74 |ializati|on funct|
|00000690| 69 6f 6e 20 66 6f 72 20 | 70 69 65 5f 63 68 61 72 |ion for |pie_char|
|000006a0| 74 5f 77 69 6e 64 6f 77 | 0d 20 2a 2f 0d 63 72 65 |t_window|. */.cre|
|000006b0| 61 74 65 5f 70 69 65 5f | 63 68 61 72 74 5f 77 69 |ate_pie_|chart_wi|
|000006c0| 6e 64 6f 77 28 57 69 6e | 64 6f 77 29 20 3a 2d 0d |ndow(Win|dow) :-.|
|000006d0| 09 73 65 74 5f 66 69 65 | 6c 64 28 57 69 6e 64 6f |.set_fie|ld(Windo|
|000006e0| 77 2c 20 64 65 73 63 72 | 69 70 74 69 6f 6e 5f 62 |w, descr|iption_b|
|000006f0| 6f 78 65 73 2c 20 5b 5d | 29 2c 0d 20 20 20 20 6c |oxes, []|),. l|
|00000700| 61 62 65 6c 28 22 53 69 | 6d 70 6c 65 20 50 69 65 |abel("Si|mple Pie|
|00000710| 20 43 68 61 72 74 20 45 | 78 61 6d 70 6c 65 20 66 | Chart E|xample f|
|00000720| 6f 72 20 41 41 49 53 20 | 46 75 6c 6c 20 43 6f 6e |or AAIS |Full Con|
|00000730| 74 72 6f 6c 20 50 72 6f | 6c 6f 67 22 2c 0d 57 69 |trol Pro|log",.Wi|
|00000740| 6e 64 6f 77 2c 20 5b 30 | 2c 20 30 2c 20 32 30 2c |ndow, [0|, 0, 20,|
|00000750| 20 34 35 30 5d 2c 20 31 | 32 29 2c 0d 20 20 20 20 | 450], 1|2),. |
|00000760| 6c 61 62 65 6c 28 22 43 | 6f 70 79 72 69 67 68 74 |label("C|opyright|
|00000770| 2c 20 a9 20 31 39 39 32 | 20 41 64 76 61 6e 63 65 |, . 1992| Advance|
|00000780| 64 20 41 2e 20 49 2e 20 | 53 79 73 74 65 6d 73 2c |d A. I. |Systems,|
|00000790| 20 49 6e 63 2e 20 41 6c | 6c 20 72 69 67 68 74 73 | Inc. Al|l rights|
|000007a0| 20 72 65 73 65 72 76 65 | 64 2e 0d a5 a5 a5 a5 a5 | reserve|d.......|
|000007b0| a5 a5 a5 a5 a5 a5 a5 a5 | a5 a5 a5 a5 a5 a5 a5 a5 |........|........|
|000007c0| a5 a5 a5 a5 a5 a5 a5 a5 | a5 a5 a5 a5 a5 a5 a5 a5 |........|........|
|000007d0| a5 a5 a5 a5 a5 a5 a5 a5 | a5 a5 a5 a5 a5 a5 a5 a5 |........|........|
|000007e0| a5 a5 a5 a5 a5 a5 a5 a5 | a5 a5 a5 a5 a5 a5 a5 a5 |........|........|
|000007f0| a5 a5 a5 a5 a5 a5 a5 a5 | a5 a5 a5 a5 a5 a5 a5 a5 |........|........|
|00000800| a5 a5 a5 a5 a5 a5 a5 a5 | a5 a5 a5 a5 a5 a5 a5 a5 |........|........|
|00000810| a5 a5 a5 a5 a5 a5 a5 a5 | a5 a5 a5 a5 a5 0d 49 6e |........|......In|
|00000820| 73 74 72 75 63 74 69 6f | 6e 73 3a 20 45 6e 74 65 |structio|ns: Ente|
|00000830| 72 20 75 70 74 6f 20 35 | 20 76 61 6c 75 65 73 2c |r upto 5| values,|
|00000840| 20 77 69 74 68 20 64 65 | 73 63 72 69 70 74 69 6f | with de|scriptio|
|00000850| 6e 73 2e 20 20 43 6c 69 | 63 6b 20 27 43 72 65 61 |ns. Cli|ck 'Crea|
|00000860| 74 65 20 50 69 65 27 20 | 62 75 74 74 6f 6e 2e 22 |te Pie' |button."|
|00000870| 2c 0d 57 69 6e 64 6f 77 | 2c 20 5b 32 30 2c 20 30 |,.Window|, [20, 0|
|00000880| 2c 20 36 30 2c 20 34 35 | 30 5d 2c 20 31 30 29 2c |, 60, 45|0], 10),|
|00000890| 0d 09 63 72 65 61 74 65 | 5f 65 6e 74 72 79 5f 73 |..create|_entry_s|
|000008a0| 65 63 74 69 6f 6e 28 57 | 69 6e 64 6f 77 2c 20 42 |ection(W|indow, B|
|000008b0| 6f 78 65 73 29 2c 0d 09 | 73 65 74 5f 66 69 65 6c |oxes),..|set_fiel|
|000008c0| 64 28 57 69 6e 64 6f 77 | 2c 20 76 61 6c 75 65 5f |d(Window|, value_|
|000008d0| 62 6f 78 65 73 2c 20 42 | 6f 78 65 73 29 2c 0d 09 |boxes, B|oxes),..|
|000008e0| 63 72 65 61 74 65 28 62 | 75 74 74 6f 6e 2c 20 50 |create(b|utton, P|
|000008f0| 6c 6f 74 42 75 74 74 6f | 6e 2c 20 5b 32 30 30 2c |lotButto|n, [200,|
|00000900| 20 31 31 30 2c 20 32 32 | 30 2c 20 31 39 30 5d 2c | 110, 22|0, 190],|
|00000910| 20 57 69 6e 64 6f 77 2c | 20 22 43 72 65 61 74 65 | Window,| "Create|
|00000920| 20 50 69 65 22 2c 0d 09 | 09 70 6c 6f 74 5f 70 69 | Pie",..|.plot_pi|
|00000930| 65 5f 63 68 61 72 74 28 | 57 69 6e 64 6f 77 29 29 |e_chart(|Window))|
|00000940| 2c 0d 09 63 72 65 61 74 | 65 28 62 75 74 74 6f 6e |,..creat|e(button|
|00000950| 2c 20 5f 2c 20 5b 32 33 | 30 2c 20 32 30 2c 20 32 |, _, [23|0, 20, 2|
|00000960| 35 30 2c 20 31 32 30 5d | 2c 20 57 69 6e 64 6f 77 |50, 120]|, Window|
|00000970| 2c 20 22 53 65 65 20 53 | 6f 75 72 63 65 c9 22 2c |, "See S|ource.",|
|00000980| 0d 09 09 73 65 65 5f 73 | 6f 75 72 63 65 29 2c 0d |...see_s|ource),.|
|00000990| 09 63 72 65 61 74 65 28 | 62 75 74 74 6f 6e 2c 20 |.create(|button, |
|000009a0| 5f 2c 20 5b 32 30 30 2c | 20 32 30 2c 20 32 32 30 |_, [200,| 20, 220|
|000009b0| 2c 20 31 30 30 5d 2c 20 | 57 69 6e 64 6f 77 2c 20 |, 100], |Window, |
|000009c0| 22 44 65 6d 6f 22 2c 0d | 09 09 70 69 65 5f 63 68 |"Demo",.|..pie_ch|
|000009d0| 61 72 74 5f 64 65 6d 6f | 28 42 6f 78 65 73 2c 20 |art_demo|(Boxes, |
|000009e0| 50 6c 6f 74 42 75 74 74 | 6f 6e 29 29 2c 0d 09 73 |PlotButt|on)),..s|
|000009f0| 65 74 5f 64 65 66 61 75 | 6c 74 5f 6f 62 6a 65 63 |et_defau|lt_objec|
|00000a00| 74 28 50 6c 6f 74 42 75 | 74 74 6f 6e 2c 20 73 65 |t(PlotBu|tton, se|
|00000a10| 74 5f 76 61 6c 75 65 28 | 50 6c 6f 74 42 75 74 74 |t_value(|PlotButt|
|00000a20| 6f 6e 2c 20 74 72 75 65 | 29 29 2e 0d 09 2e 0d 2f |on, true|))...../|
|00000a30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 2f 2a 0d 20 2a |********|*/./*. *|
|00000a70| 20 54 68 69 73 20 66 75 | 6e 63 74 69 6f 6e 20 74 | This fu|nction t|
|00000a80| 61 6b 65 73 20 74 68 65 | 20 76 61 6c 75 65 73 20 |akes the| values |
|00000a90| 61 6e 64 20 70 6c 6f 74 | 73 20 74 68 65 6d 2e 0d |and plot|s them..|
|00000aa0| 20 2a 20 54 68 69 73 20 | 66 75 6e 63 74 69 6f 6e | * This |function|
|00000ab0| 20 69 73 20 74 68 65 20 | 66 75 6e 63 74 69 6f 6e | is the |function|
|00000ac0| 20 61 73 73 6f 63 69 61 | 74 65 64 20 77 69 74 68 | associa|ted with|
|00000ad0| 20 74 68 65 20 22 43 72 | 65 61 74 65 20 50 69 65 | the "Cr|eate Pie|
|00000ae0| 22 20 62 75 74 74 6f 6e | 2e 0d 20 2a 2f 0d 70 6c |" button|.. */.pl|
|00000af0| 6f 74 5f 70 69 65 5f 63 | 68 61 72 74 28 57 69 6e |ot_pie_c|hart(Win|
|00000b00| 64 6f 77 29 20 3a 2d 0d | 09 67 65 74 5f 66 69 65 |dow) :-.|.get_fie|
|00000b10| 6c 64 28 57 69 6e 64 6f | 77 2c 20 76 61 6c 75 65 |ld(Windo|w, value|
|00000b20| 5f 62 6f 78 65 73 2c 20 | 42 6f 78 65 73 29 2c 0d |_boxes, |Boxes),.|
|00000b30| 09 73 75 6d 5f 62 6f 78 | 65 73 28 42 6f 78 65 73 |.sum_box|es(Boxes|
|00000b40| 2c 20 53 75 6d 29 2c 0d | 09 6d 61 6b 65 5f 76 61 |, Sum),.|.make_va|
|00000b50| 6c 75 65 5f 6c 69 73 74 | 28 53 75 6d 2c 20 42 6f |lue_list|(Sum, Bo|
|00000b60| 78 65 73 2c 20 56 61 6c | 75 65 4c 69 73 74 29 2c |xes, Val|ueList),|
|00000b70| 0d 09 73 6f 72 74 28 56 | 61 6c 75 65 4c 69 73 74 |..sort(V|alueList|
|00000b80| 2c 20 52 53 6f 72 74 65 | 64 56 61 6c 75 65 4c 69 |, RSorte|dValueLi|
|00000b90| 73 74 29 2c 0d 09 72 65 | 76 65 72 73 65 28 52 53 |st),..re|verse(RS|
|00000ba0| 6f 72 74 65 64 56 61 6c | 75 65 4c 69 73 74 2c 20 |ortedVal|ueList, |
|00000bb0| 53 6f 72 74 65 64 56 61 | 6c 75 65 4c 69 73 74 29 |SortedVa|lueList)|
|00000bc0| 2c 0d 09 72 65 6d 6f 76 | 65 5f 6f 6c 64 5f 70 69 |,..remov|e_old_pi|
|00000bd0| 65 5f 63 68 61 72 74 28 | 57 69 6e 64 6f 77 29 2c |e_chart(|Window),|
|00000be0| 0d 09 21 2c 0d 09 6d 61 | 6b 65 5f 70 69 65 5f 63 |..!,..ma|ke_pie_c|
|00000bf0| 68 61 72 74 28 57 69 6e | 64 6f 77 2c 20 53 6f 72 |hart(Win|dow, Sor|
|00000c00| 74 65 64 56 61 6c 75 65 | 4c 69 73 74 2c 20 31 30 |tedValue|List, 10|
|00000c10| 2c 20 30 29 2e 0d 0d 2f | 2a 0d 20 2a 20 54 68 69 |, 0).../|*. * Thi|
|00000c20| 73 20 74 6f 74 61 6c 73 | 20 74 68 65 20 76 61 6c |s totals| the val|
|00000c30| 75 65 73 20 65 6e 74 65 | 72 65 64 2e 0d 20 2a 2f |ues ente|red.. */|
|00000c40| 0d 73 75 6d 5f 62 6f 78 | 65 73 28 5b 5d 2c 20 30 |.sum_box|es([], 0|
|00000c50| 29 2e 0d 73 75 6d 5f 62 | 6f 78 65 73 28 5b 20 5b |)..sum_b|oxes([ [|
|00000c60| 42 6f 78 31 20 2c 20 5f | 5d 20 2c 20 2e 2e 20 42 |Box1 , _|] , .. B|
|00000c70| 6f 78 65 73 5d 2c 20 53 | 75 6d 29 20 3a 2d 0d 09 |oxes], S|um) :-..|
|00000c80| 28 28 67 65 74 5f 76 61 | 6c 75 65 28 42 6f 78 31 |((get_va|lue(Box1|
|00000c90| 2c 20 56 61 6c 75 65 29 | 2c 20 62 6f 75 6e 64 28 |, Value)|, bound(|
|00000ca0| 56 61 6c 75 65 29 29 20 | 2d 3e 0d 09 09 74 72 75 |Value)) |->...tru|
|00000cb0| 65 0d 09 3b 09 56 61 6c | 75 65 20 3d 20 30 0d 09 |e..;.Val|ue = 0..|
|00000cc0| 29 2c 0d 09 73 75 6d 5f | 62 6f 78 65 73 28 42 6f |),..sum_|boxes(Bo|
|00000cd0| 78 65 73 2c 20 53 75 62 | 53 75 6d 29 2c 0d 09 53 |xes, Sub|Sum),..S|
|00000ce0| 75 6d 20 69 73 20 53 75 | 62 53 75 6d 20 2b 20 56 |um is Su|bSum + V|
|00000cf0| 61 6c 75 65 2e 0d 0d 2f | 2a 0d 20 2a 20 54 68 69 |alue.../|*. * Thi|
|00000d00| 73 20 6d 61 6b 65 73 20 | 61 20 6c 69 73 74 20 6f |s makes |a list o|
|00000d10| 66 20 74 68 65 20 76 61 | 6c 75 65 73 20 61 6e 64 |f the va|lues and|
|00000d20| 20 68 6f 77 20 6d 75 63 | 68 20 6f 66 20 74 68 65 | how muc|h of the|
|00000d30| 20 70 69 65 0d 20 2a 20 | 74 68 65 79 20 6f 63 63 | pie. * |they occ|
|00000d40| 75 70 79 2e 0d 20 2a 2f | 0d 6d 61 6b 65 5f 76 61 |upy.. */|.make_va|
|00000d50| 6c 75 65 5f 6c 69 73 74 | 28 5f 53 75 6d 2c 20 5b |lue_list|(_Sum, [|
|00000d60| 5d 2c 20 5b 5d 29 2e 0d | 6d 61 6b 65 5f 76 61 6c |], [])..|make_val|
|00000d70| 75 65 5f 6c 69 73 74 28 | 53 75 6d 2c 20 5b 20 5b |ue_list(|Sum, [ [|
|00000d80| 42 6f 78 31 2c 20 44 65 | 73 63 31 5d 20 7c 20 42 |Box1, De|sc1] | B|
|00000d90| 6f 78 65 73 5d 20 2c 0d | 09 09 5b 20 5b 20 46 72 |oxes] ,.|..[ [ Fr|
|00000da0| 61 63 74 69 6f 6e 2c 20 | 42 6f 78 31 2c 20 44 65 |action, |Box1, De|
|00000db0| 73 63 31 5d 20 2c 20 2e | 2e 20 56 61 6c 75 65 4c |sc1] , .|. ValueL|
|00000dc0| 69 73 74 5d 29 20 3a 2d | 0d 09 67 65 74 5f 76 61 |ist]) :-|..get_va|
|00000dd0| 6c 75 65 28 42 6f 78 31 | 2c 20 56 61 6c 75 65 29 |lue(Box1|, Value)|
|00000de0| 2c 0d 09 62 6f 75 6e 64 | 28 56 61 6c 75 65 29 2c |,..bound|(Value),|
|00000df0| 0d 09 56 61 6c 75 65 20 | 3e 20 30 2c 0d 09 21 2c |..Value |> 0,..!,|
|00000e00| 0d 09 46 72 61 63 74 69 | 6f 6e 20 69 73 20 56 61 |..Fracti|on is Va|
|00000e10| 6c 75 65 2f 53 75 6d 2c | 0d 09 6d 61 6b 65 5f 76 |lue/Sum,|..make_v|
|00000e20| 61 6c 75 65 5f 6c 69 73 | 74 28 53 75 6d 2c 20 42 |alue_lis|t(Sum, B|
|00000e30| 6f 78 65 73 2c 20 56 61 | 6c 75 65 4c 69 73 74 29 |oxes, Va|lueList)|
|00000e40| 2e 0d 6d 61 6b 65 5f 76 | 61 6c 75 65 5f 6c 69 73 |..make_v|alue_lis|
|00000e50| 74 28 53 75 6d 2c 20 5b | 20 5f 20 7c 20 42 6f 78 |t(Sum, [| _ | Box|
|00000e60| 65 73 5d 20 2c 0d 09 09 | 56 61 6c 75 65 4c 69 73 |es] ,...|ValueLis|
|00000e70| 74 29 20 3a 2d 0d 09 6d | 61 6b 65 5f 76 61 6c 75 |t) :-..m|ake_valu|
|00000e80| 65 5f 6c 69 73 74 28 53 | 75 6d 2c 20 42 6f 78 65 |e_list(S|um, Boxe|
|00000e90| 73 2c 20 56 61 6c 75 65 | 4c 69 73 74 29 2e 0d 0d |s, Value|List)...|
|00000ea0| 2f 2a 0d 20 2a 20 52 65 | 6d 6f 76 65 20 61 6e 79 |/*. * Re|move any|
|00000eb0| 20 6f 6c 64 20 64 65 73 | 63 72 69 70 74 69 6f 6e | old des|cription|
|00000ec0| 20 62 6f 78 2e 0d 20 2a | 2f 0d 72 65 6d 6f 76 65 | box.. *|/.remove|
|00000ed0| 5f 6f 6c 64 5f 64 65 73 | 63 5f 62 6f 78 28 57 69 |_old_des|c_box(Wi|
|00000ee0| 6e 64 6f 77 29 20 3a 2d | 0d 09 67 65 74 5f 66 69 |ndow) :-|..get_fi|
|00000ef0| 65 6c 64 28 57 69 6e 64 | 6f 77 2c 20 64 65 73 63 |eld(Wind|ow, desc|
|00000f00| 72 69 70 74 69 6f 6e 5f | 62 6f 78 65 73 2c 20 4c |ription_|boxes, L|
|00000f10| 69 73 74 29 2c 0d 09 6d | 65 6d 62 65 72 28 4f 6c |ist),..m|ember(Ol|
|00000f20| 64 44 65 73 63 42 6f 78 | 2c 20 4c 69 73 74 29 2c |dDescBox|, List),|
|00000f30| 20 0d 09 64 65 73 74 72 | 6f 79 28 4f 6c 64 44 65 | ..destr|oy(OldDe|
|00000f40| 73 63 42 6f 78 29 2c 0d | 09 66 61 69 6c 2e 0d 72 |scBox),.|.fail..r|
|00000f50| 65 6d 6f 76 65 5f 6f 6c | 64 5f 64 65 73 63 5f 62 |emove_ol|d_desc_b|
|00000f60| 6f 78 28 57 69 6e 64 6f | 77 29 20 3a 2d 0d 09 73 |ox(Windo|w) :-..s|
|00000f70| 65 74 5f 66 69 65 6c 64 | 28 57 69 6e 64 6f 77 2c |et_field|(Window,|
|00000f80| 20 64 65 73 63 72 69 70 | 74 69 6f 6e 5f 62 6f 78 | descrip|tion_box|
|00000f90| 65 73 2c 20 5b 5d 29 2e | 0d 0d 2f 2a 0d 20 2a 20 |es, []).|../*. * |
|00000fa0| 54 68 69 73 20 72 65 6d | 6f 76 65 73 20 74 68 65 |This rem|oves the|
|00000fb0| 20 6f 6c 64 20 70 69 65 | 20 63 68 61 72 74 2e 0d | old pie| chart..|
|00000fc0| 20 2a 2f 0d 72 65 6d 6f | 76 65 5f 6f 6c 64 5f 70 | */.remo|ve_old_p|
|00000fd0| 69 65 5f 63 68 61 72 74 | 28 57 69 6e 64 6f 77 29 |ie_chart|(Window)|
|00000fe0| 20 3a 2d 0d 09 73 75 62 | 6f 62 6a 65 63 74 28 57 | :-..sub|object(W|
|00000ff0| 69 6e 64 6f 77 2c 20 4f | 62 6a 65 63 74 29 2c 0d |indow, O|bject),.|
|00001000| 09 74 79 70 65 28 4f 62 | 6a 65 63 74 2c 20 70 69 |.type(Ob|ject, pi|
|00001010| 65 5f 73 6c 69 63 65 29 | 2c 0d 09 64 65 73 74 72 |e_slice)|,..destr|
|00001020| 6f 79 28 4f 62 6a 65 63 | 74 29 2c 0d 09 66 61 69 |oy(Objec|t),..fai|
|00001030| 6c 2e 0d 72 65 6d 6f 76 | 65 5f 6f 6c 64 5f 70 69 |l..remov|e_old_pi|
|00001040| 65 5f 63 68 61 72 74 28 | 57 69 6e 64 6f 77 29 20 |e_chart(|Window) |
|00001050| 3a 2d 0d 09 72 65 6d 6f | 76 65 5f 6f 6c 64 5f 64 |:-..remo|ve_old_d|
|00001060| 65 73 63 5f 62 6f 78 28 | 57 69 6e 64 6f 77 29 2c |esc_box(|Window),|
|00001070| 0d 09 72 65 64 72 61 77 | 5f 77 69 6e 64 6f 77 28 |..redraw|_window(|
|00001080| 57 69 6e 64 6f 77 29 2e | 0d 2f 2a 2a 2a 2a 2a 2a |Window).|./******|
|00001090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000010a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000010b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000010c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 20 2a 0d 20 2a |********|**. *. *|
|000010d0| 20 57 65 20 64 65 66 69 | 6e 65 20 61 20 73 69 6d | We defi|ne a sim|
|000010e0| 70 6c 65 20 70 69 65 5f | 73 6c 69 63 65 20 67 72 |ple pie_|slice gr|
|000010f0| 61 70 68 69 63 20 6f 62 | 6a 65 63 74 20 68 65 72 |aphic ob|ject her|
|00001100| 65 2e 0d 20 2a 2f 0d 3a | 2d 20 63 72 65 61 74 65 |e.. */.:|- create|
|00001110| 28 67 72 61 70 68 69 63 | 5f 6f 62 6a 65 63 74 5f |(graphic|_object_|
|00001120| 74 79 70 65 2c 20 5f 2c | 20 70 69 65 5f 73 6c 69 |type, _,| pie_sli|
|00001130| 63 65 2c 20 62 61 73 69 | 63 5f 67 72 61 70 68 69 |ce, basi|c_graphi|
|00001140| 63 5f 6f 62 6a 65 63 74 | 2c 0d 09 5b 61 72 65 61 |c_object|,..[area|
|00001150| 20 3d 20 70 72 6f 6c 6f | 67 5f 64 61 74 61 2c 20 | = prolo|g_data, |
|00001160| 70 61 74 74 65 72 6e 20 | 3d 20 70 72 6f 6c 6f 67 |pattern |= prolog|
|00001170| 5f 64 61 74 61 2c 0d 09 | 20 6d 6f 75 73 65 5f 66 |_data,..| mouse_f|
|00001180| 75 6e 63 20 3d 20 70 74 | 72 28 70 72 6f 6c 6f 67 |unc = pt|r(prolog|
|00001190| 5f 68 6f 6f 6b 29 5d 2c | 0d 09 63 72 65 61 74 65 |_hook)],|..create|
|000011a0| 5f 70 69 65 5f 73 6c 69 | 63 65 2f 35 2c 20 64 65 |_pie_sli|ce/5, de|
|000011b0| 73 74 72 6f 79 5f 70 69 | 65 5f 73 6c 69 63 65 29 |stroy_pi|e_slice)|
|000011c0| 2e 0d 09 0d 63 72 65 61 | 74 65 5f 70 69 65 5f 73 |....crea|te_pie_s|
|000011d0| 6c 69 63 65 28 50 69 65 | 53 6c 69 63 65 2c 20 4c |lice(Pie|Slice, L|
|000011e0| 6f 63 2c 20 5f 57 69 6e | 64 6f 77 2c 20 50 61 74 |oc, _Win|dow, Pat|
|000011f0| 74 65 72 6e 2c 20 4d 6f | 75 73 65 46 75 6e 63 29 |tern, Mo|useFunc)|
|00001200| 20 3a 2d 0d 09 73 65 74 | 5f 66 69 65 6c 64 28 50 | :-..set|_field(P|
|00001210| 69 65 53 6c 69 63 65 2c | 20 70 61 74 74 65 72 6e |ieSlice,| pattern|
|00001220| 2c 20 50 61 74 74 65 72 | 6e 29 2c 0d 09 72 65 67 |, Patter|n),..reg|
|00001230| 69 6f 6e 5f 72 65 63 74 | 28 4c 6f 63 2c 20 4c 6f |ion_rect|(Loc, Lo|
|00001240| 63 52 65 63 74 29 2c 0d | 09 4c 6f 63 61 6c 41 72 |cRect),.|.LocalAr|
|00001250| 65 61 20 69 73 20 4c 6f | 63 20 2d 20 5b 4c 6f 63 |ea is Lo|c - [Loc|
|00001260| 52 65 63 74 5e 2e 74 6f | 70 2c 20 4c 6f 63 52 65 |Rect^.to|p, LocRe|
|00001270| 63 74 5e 2e 6c 65 66 74 | 5d 2c 0d 09 73 65 74 5f |ct^.left|],..set_|
|00001280| 66 69 65 6c 64 28 50 69 | 65 53 6c 69 63 65 2c 20 |field(Pi|eSlice, |
|00001290| 61 72 65 61 2c 20 4c 6f | 63 61 6c 41 72 65 61 29 |area, Lo|calArea)|
|000012a0| 2c 0d 09 63 72 65 61 74 | 65 5f 68 6f 6f 6b 28 4d |,..creat|e_hook(M|
|000012b0| 6f 75 73 65 46 75 6e 63 | 2c 20 50 69 65 53 6c 69 |ouseFunc|, PieSli|
|000012c0| 63 65 2c 20 48 6f 6f 6b | 29 2c 0d 09 6d 61 72 6b |ce, Hook|),..mark|
|000012d0| 28 48 6f 6f 6b 29 2c 0d | 09 73 65 74 5f 66 69 65 |(Hook),.|.set_fie|
|000012e0| 6c 64 28 50 69 65 53 6c | 69 63 65 2c 20 6d 6f 75 |ld(PieSl|ice, mou|
|000012f0| 73 65 5f 66 75 6e 63 2c | 20 48 6f 6f 6b 29 2e 0d |se_func,| Hook)..|
|00001300| 09 0d 64 65 73 74 72 6f | 79 5f 70 69 65 5f 73 6c |..destro|y_pie_sl|
|00001310| 69 63 65 28 50 69 65 53 | 6c 69 63 65 29 20 3a 2d |ice(PieS|lice) :-|
|00001320| 0d 09 67 65 74 5f 66 69 | 65 6c 64 28 50 69 65 53 |..get_fi|eld(PieS|
|00001330| 6c 69 63 65 2c 20 6d 6f | 75 73 65 5f 66 75 6e 63 |lice, mo|use_func|
|00001340| 2c 20 48 6f 6f 6b 29 2c | 0d 09 75 6e 6d 61 72 6b |, Hook),|..unmark|
|00001350| 28 48 6f 6f 6b 29 2e 0d | 09 0d 70 69 65 5f 73 6c |(Hook)..|..pie_sl|
|00001360| 69 63 65 20 3c 2d 20 6d | 6f 75 73 65 64 6f 77 6e |ice <- m|ousedown|
|00001370| 28 50 69 65 53 6c 69 63 | 65 2c 20 5f 50 6f 69 6e |(PieSlic|e, _Poin|
|00001380| 74 2c 20 5f 43 6f 75 6e | 74 29 20 3a 2d 0d 09 67 |t, _Coun|t) :-..g|
|00001390| 65 74 5f 66 69 65 6c 64 | 28 50 69 65 53 6c 69 63 |et_field|(PieSlic|
|000013a0| 65 2c 20 6d 6f 75 73 65 | 5f 66 75 6e 63 2c 20 48 |e, mouse|_func, H|
|000013b0| 6f 6f 6b 29 2c 0d 09 63 | 61 6c 6c 5f 68 6f 6f 6b |ook),..c|all_hook|
|000013c0| 28 48 6f 6f 6b 2c 20 74 | 72 75 65 29 2e 0d 09 0d |(Hook, t|rue)....|
|000013d0| 70 69 65 5f 73 6c 69 63 | 65 20 3c 2d 20 75 70 64 |pie_slic|e <- upd|
|000013e0| 61 74 65 28 50 69 65 53 | 6c 69 63 65 29 20 3a 2d |ate(PieS|lice) :-|
|000013f0| 0d 09 67 65 74 5f 66 69 | 65 6c 64 28 50 69 65 53 |..get_fi|eld(PieS|
|00001400| 6c 69 63 65 2c 20 61 72 | 65 61 2c 20 4c 6f 63 61 |lice, ar|ea, Loca|
|00001410| 6c 41 72 65 61 29 2c 0d | 09 67 65 74 5f 66 69 65 |lArea),.|.get_fie|
|00001420| 6c 64 28 50 69 65 53 6c | 69 63 65 2c 20 70 61 74 |ld(PieSl|ice, pat|
|00001430| 74 65 72 6e 2c 20 50 61 | 74 74 65 72 6e 29 2c 0d |tern, Pa|ttern),.|
|00001440| 09 70 61 69 6e 74 28 4c | 6f 63 61 6c 41 72 65 61 |.paint(L|ocalArea|
|00001450| 2c 20 50 61 74 74 65 72 | 6e 29 2c 0d 09 66 72 61 |, Patter|n),..fra|
|00001460| 6d 65 28 4c 6f 63 61 6c | 41 72 65 61 29 2e 0d 0d |me(Local|Area)...|
|00001470| 2f 2a 0d 20 2a 20 54 68 | 69 73 20 6d 61 6b 65 73 |/*. * Th|is makes|
|00001480| 20 74 68 65 20 70 69 65 | 20 63 68 61 72 74 2e 20 | the pie| chart. |
|00001490| 20 45 61 63 68 20 65 6c | 65 6d 65 6e 74 20 6f 66 | Each el|ement of|
|000014a0| 20 74 68 65 20 70 69 65 | 20 63 68 61 72 74 0d 20 | the pie| chart. |
|000014b0| 2a 09 69 73 20 61 20 73 | 65 70 61 72 61 74 65 20 |*.is a s|eparate |
|000014c0| 64 72 61 77 69 6e 67 20 | 6f 62 6a 65 63 74 2e 20 |drawing |object. |
|000014d0| 20 43 6c 69 63 6b 69 6e | 67 20 69 6e 73 69 64 65 | Clickin|g inside|
|000014e0| 20 77 69 6c 6c 20 70 75 | 74 0d 20 2a 09 75 70 20 | will pu|t. *.up |
|000014f0| 74 68 65 20 64 65 73 63 | 72 69 70 74 69 6f 6e 20 |the desc|ription |
|00001500| 62 6f 78 2e 0d 20 2a 2f | 0d 6d 61 6b 65 5f 70 69 |box.. */|.make_pi|
|00001510| 65 5f 63 68 61 72 74 28 | 5f 57 69 6e 64 6f 77 2c |e_chart(|_Window,|
|00001520| 20 5b 5d 2c 20 5f 2c 20 | 5f 29 2e 0d 6d 61 6b 65 | [], _, |_)..make|
|00001530| 5f 70 69 65 5f 63 68 61 | 72 74 28 57 69 6e 64 6f |_pie_cha|rt(Windo|
|00001540| 77 2c 20 5b 5b 46 72 61 | 63 74 69 6f 6e 2c 20 5f |w, [[Fra|ction, _|
|00001550| 42 6f 78 2c 20 44 65 73 | 63 5d 20 7c 20 56 61 6c |Box, Des|c] | Val|
|00001560| 75 65 4c 69 73 74 5d 2c | 20 0d 09 09 50 61 74 74 |ueList],| ...Patt|
|00001570| 65 72 6e 4e 75 6d 2c 20 | 53 74 61 72 74 41 6e 67 |ernNum, |StartAng|
|00001580| 6c 65 29 20 3a 2d 0d 09 | 41 6e 67 6c 65 53 69 7a |le) :-..|AngleSiz|
|00001590| 65 20 69 73 20 20 72 6f | 75 6e 64 28 33 36 30 20 |e is ro|und(360 |
|000015a0| 2a 20 46 72 61 63 74 69 | 6f 6e 29 2c 0d 09 45 6e |* Fracti|on),..En|
|000015b0| 64 41 6e 67 6c 65 20 69 | 73 20 53 74 61 72 74 41 |dAngle i|s StartA|
|000015c0| 6e 67 6c 65 20 2b 20 41 | 6e 67 6c 65 53 69 7a 65 |ngle + A|ngleSize|
|000015d0| 2c 0d 09 63 72 65 61 74 | 65 28 61 72 63 2c 20 41 |,..creat|e(arc, A|
|000015e0| 72 63 2c 20 36 30 20 2c | 20 32 34 30 2c 20 20 32 |rc, 60 ,| 240, 2|
|000015f0| 36 30 2c 20 34 34 30 2c | 20 53 74 61 72 74 41 6e |60, 440,| StartAn|
|00001600| 67 6c 65 2c 20 41 6e 67 | 6c 65 53 69 7a 65 29 2c |gle, Ang|leSize),|
|00001610| 0d 09 2f 2a 0d 09 20 2a | 20 57 65 20 63 6f 6e 76 |../*.. *| We conv|
|00001620| 65 72 74 20 69 74 20 65 | 78 70 6c 69 63 69 74 6c |ert it e|xplicitl|
|00001630| 79 20 73 6f 20 77 65 20 | 63 61 6e 20 64 6f 20 61 |y so we |can do a|
|00001640| 20 66 72 61 6d 65 20 69 | 6e 73 69 64 65 20 74 68 | frame i|nside th|
|00001650| 65 20 70 69 65 20 77 65 | 64 67 65 2e 0d 09 20 2a |e pie we|dge... *|
|00001660| 2f 0d 09 63 6f 6e 76 65 | 72 74 28 41 72 63 2c 20 |/..conve|rt(Arc, |
|00001670| 72 65 67 69 6f 6e 2c 20 | 50 69 65 57 65 64 67 65 |region, |PieWedge|
|00001680| 52 65 67 69 6f 6e 31 29 | 2c 0d 09 50 69 65 57 65 |Region1)|,..PieWe|
|00001690| 64 67 65 52 65 67 69 6f | 6e 20 69 73 20 50 69 65 |dgeRegio|n is Pie|
|000016a0| 57 65 64 67 65 52 65 67 | 69 6f 6e 31 20 3c 3c 20 |WedgeReg|ion1 << |
|000016b0| 33 2c 0d 09 72 65 67 69 | 6f 6e 5f 72 65 63 74 28 |3,..regi|on_rect(|
|000016c0| 50 69 65 57 65 64 67 65 | 52 65 67 69 6f 6e 2c 20 |PieWedge|Region, |
|000016d0| 50 69 65 57 65 64 67 65 | 52 65 63 74 29 2c 0d 09 |PieWedge|Rect),..|
|000016e0| 63 72 65 61 74 65 28 70 | 69 65 5f 73 6c 69 63 65 |create(p|ie_slice|
|000016f0| 2c 20 5f 50 69 65 53 6c | 69 63 65 2c 20 50 69 65 |, _PieSl|ice, Pie|
|00001700| 57 65 64 67 65 52 65 67 | 69 6f 6e 2c 20 57 69 6e |WedgeReg|ion, Win|
|00001710| 64 6f 77 2c 20 5b 30 2c | 50 61 74 74 65 72 6e 4e |dow, [0,|PatternN|
|00001720| 75 6d 5d 2c 20 74 72 75 | 65 29 2c 0d 09 72 65 64 |um], tru|e),..red|
|00001730| 72 61 77 5f 77 69 6e 64 | 6f 77 28 57 69 6e 64 6f |raw_wind|ow(Windo|
|00001740| 77 29 2c 0d 09 73 68 6f | 77 5f 64 65 73 63 72 69 |w),..sho|w_descri|
|00001750| 70 74 69 6f 6e 28 57 69 | 6e 64 6f 77 2c 20 44 65 |ption(Wi|ndow, De|
|00001760| 73 63 2c 20 50 69 65 57 | 65 64 67 65 52 65 63 74 |sc, PieW|edgeRect|
|00001770| 29 2c 0d 09 4e 65 78 74 | 50 61 74 74 65 72 6e 4e |),..Next|PatternN|
|00001780| 75 6d 20 69 73 20 50 61 | 74 74 65 72 6e 4e 75 6d |um is Pa|tternNum|
|00001790| 20 2b 20 31 2c 0d 09 21 | 2c 0d 09 6d 61 6b 65 5f | + 1,..!|,..make_|
|000017a0| 70 69 65 5f 63 68 61 72 | 74 28 57 69 6e 64 6f 77 |pie_char|t(Window|
|000017b0| 2c 20 56 61 6c 75 65 4c | 69 73 74 2c 20 4e 65 78 |, ValueL|ist, Nex|
|000017c0| 74 50 61 74 74 65 72 6e | 4e 75 6d 2c 20 45 6e 64 |tPattern|Num, End|
|000017d0| 41 6e 67 6c 65 29 2e 0d | 0d 2f 2a 0d 20 2a 20 54 |Angle)..|./*. * T|
|000017e0| 68 69 73 20 66 75 6e 63 | 74 69 6f 6e 20 70 75 74 |his func|tion put|
|000017f0| 73 20 75 70 20 61 20 62 | 6f 78 20 64 65 73 63 72 |s up a b|ox descr|
|00001800| 69 70 74 69 6e 67 20 74 | 68 65 20 73 65 63 74 69 |ipting t|he secti|
|00001810| 6f 6e 20 6f 66 20 70 69 | 65 20 63 6c 69 63 6b 65 |on of pi|e clicke|
|00001820| 64 20 6f 6e 2e 0d 20 2a | 20 49 74 20 77 61 73 20 |d on.. *| It was |
|00001830| 74 68 65 20 6d 6f 75 73 | 65 20 64 6f 77 6e 20 66 |the mous|e down f|
|00001840| 75 6e 63 74 69 6f 6e 20 | 6f 66 20 74 68 65 20 70 |unction |of the p|
|00001850| 69 65 5f 73 6c 69 63 65 | 20 63 72 65 61 74 65 64 |ie_slice| created|
|00001860| 20 69 6e 20 74 68 65 20 | 70 69 65 2e 0d 20 2a 2f | in the |pie.. */|
|00001870| 0d 73 68 6f 77 5f 64 65 | 73 63 72 69 70 74 69 6f |.show_de|scriptio|
|00001880| 6e 28 57 69 6e 64 6f 77 | 2c 20 44 65 73 63 2c 20 |n(Window|, Desc, |
|00001890| 50 69 65 57 65 64 67 65 | 52 65 63 74 29 20 3a 2d |PieWedge|Rect) :-|
|000018a0| 0d 09 72 65 63 74 5f 63 | 65 6e 74 65 72 28 50 69 |..rect_c|enter(Pi|
|000018b0| 65 57 65 64 67 65 52 65 | 63 74 2c 20 56 2c 20 48 |eWedgeRe|ct, V, H|
|000018c0| 29 2c 0d 09 56 20 5c 3d | 20 30 2c 20 48 20 5c 3d |),..V \=| 0, H \=|
|000018d0| 20 30 2c 09 09 25 20 30 | 2c 20 30 20 6d 65 61 6e | 0,..% 0|, 0 mean|
|000018e0| 73 20 74 68 65 20 77 65 | 64 67 65 20 77 61 73 20 |s the we|dge was |
|000018f0| 74 6f 6f 20 73 6d 61 6c | 6c 2e 0d 09 44 54 6f 70 |too smal|l...DTop|
|00001900| 20 69 73 20 56 20 2d 20 | 31 30 2c 0d 09 44 42 6f | is V - |10,..DBo|
|00001910| 74 74 6f 6d 20 69 73 20 | 56 20 2b 20 31 30 2c 0d |ttom is |V + 10,.|
|00001920| 09 28 28 48 20 3e 20 33 | 33 35 2c 20 48 20 3c 20 |.((H > 3|35, H < |
|00001930| 33 34 35 20 29 20 2d 3e | 0d 09 09 28 28 56 20 3c |345 ) ->|...((V <|
|00001940| 31 34 35 3b 20 56 20 3e | 31 35 35 29 20 2d 3e 0d |145; V >|155) ->.|
|00001950| 09 09 09 44 4c 65 66 74 | 20 69 73 20 48 20 2d 20 |...DLeft| is H - |
|00001960| 33 35 2c 0d 09 09 09 44 | 52 69 67 68 74 20 69 73 |35,....D|Right is|
|00001970| 20 48 20 2b 20 33 35 0d | 09 09 3b 0d 09 09 09 44 | H + 35.|..;....D|
|00001980| 4c 65 66 74 20 69 73 20 | 48 20 2d 20 31 30 2c 0d |Left is |H - 10,.|
|00001990| 09 09 09 44 52 69 67 68 | 74 20 69 73 20 48 20 2b |...DRigh|t is H +|
|000019a0| 20 36 30 0d 09 09 29 0d | 09 3b 09 48 20 3e 20 33 | 60...).|.;.H > 3|
|000019b0| 34 30 20 2d 3e 0d 09 09 | 44 4c 65 66 74 20 69 73 |40 ->...|DLeft is|
|000019c0| 20 48 20 2d 20 31 30 2c | 0d 09 09 44 52 69 67 68 | H - 10,|...DRigh|
|000019d0| 74 20 69 73 20 48 20 2b | 20 36 30 0d 09 3b 0d 09 |t is H +| 60..;..|
|000019e0| 09 44 4c 65 66 74 20 69 | 73 20 48 20 2d 20 36 30 |.DLeft i|s H - 60|
|000019f0| 2c 0d 09 09 44 52 69 67 | 68 74 20 69 73 20 48 20 |,...DRig|ht is H |
|00001a00| 2b 20 31 30 0d 09 29 2c | 0d 09 67 65 74 5f 74 65 |+ 10..),|..get_te|
|00001a10| 78 74 28 44 65 73 63 2c | 31 2c 30 2c 2d 31 2c 2d |xt(Desc,|1,0,-1,-|
|00001a20| 31 2c 54 65 78 74 29 2c | 0d 09 28 65 78 69 73 74 |1,Text),|..(exist|
|00001a30| 69 6e 67 5f 66 6f 6e 74 | 28 74 69 6d 65 73 29 20 |ing_font|(times) |
|00001a40| 2d 3e 20 46 6f 6e 74 20 | 3d 20 74 69 6d 65 73 2c |-> Font |= times,|
|00001a50| 20 46 6f 6e 74 53 69 7a | 65 20 3d 20 31 32 0d 09 | FontSiz|e = 12..|
|00001a60| 3b 09 46 6f 6e 74 20 3d | 20 73 79 73 74 65 6d 2c |;.Font =| system,|
|00001a70| 20 46 6f 6e 74 53 69 7a | 65 20 3d 20 39 0d 09 29 | FontSiz|e = 9..)|
|00001a80| 2c 0d 09 63 72 65 61 74 | 65 28 64 69 73 70 6c 61 |,..creat|e(displa|
|00001a90| 79 5f 74 65 78 74 2c 20 | 44 65 73 63 42 6f 78 2c |y_text, |DescBox,|
|00001aa0| 20 5b 44 54 6f 70 2c 20 | 44 4c 65 66 74 2c 20 44 | [DTop, |DLeft, D|
|00001ab0| 42 6f 74 74 6f 6d 2c 20 | 44 52 69 67 68 74 5d 2c |Bottom, |DRight],|
|00001ac0| 20 57 69 6e 64 6f 77 2c | 20 0d 09 09 22 25 73 22 | Window,| ..."%s"|
|00001ad0| 2c 20 5b 54 65 78 74 5d | 2c 20 46 6f 6e 74 2c 20 |, [Text]|, Font, |
|00001ae0| 46 6f 6e 74 53 69 7a 65 | 2c 20 5f 2c 20 74 72 75 |FontSize|, _, tru|
|00001af0| 65 29 2c 0d 09 73 65 74 | 5f 74 65 78 74 5f 73 74 |e),..set|_text_st|
|00001b00| 79 6c 65 28 44 65 73 63 | 42 6f 78 2c 20 5b 62 6f |yle(Desc|Box, [bo|
|00001b10| 6c 64 2c 20 65 78 74 65 | 6e 64 5d 29 2c 0d 09 67 |ld, exte|nd]),..g|
|00001b20| 65 74 5f 66 69 65 6c 64 | 28 57 69 6e 64 6f 77 2c |et_field|(Window,|
|00001b30| 20 64 65 73 63 72 69 70 | 74 69 6f 6e 5f 62 6f 78 | descrip|tion_box|
|00001b40| 65 73 2c 20 58 29 2c 0d | 09 73 65 74 5f 66 69 65 |es, X),.|.set_fie|
|00001b50| 6c 64 28 57 69 6e 64 6f | 77 2c 20 64 65 73 63 72 |ld(Windo|w, descr|
|00001b60| 69 70 74 69 6f 6e 5f 62 | 6f 78 65 73 2c 20 5b 44 |iption_b|oxes, [D|
|00001b70| 65 73 63 42 6f 78 7c 58 | 5d 29 2e 0d 0d 2f 2a 0d |escBox|X|]).../*.|
|00001b80| 20 2a 20 46 69 6e 64 20 | 74 68 65 20 63 65 6e 74 | * Find |the cent|
|00001b90| 65 72 20 6f 66 20 61 20 | 72 65 63 74 61 6e 67 6c |er of a |rectangl|
|00001ba0| 65 2e 0d 20 2a 2f 0d 72 | 65 63 74 5f 63 65 6e 74 |e.. */.r|ect_cent|
|00001bb0| 65 72 28 52 65 63 74 2c | 20 56 2c 20 48 29 20 3a |er(Rect,| V, H) :|
|00001bc0| 2d 0d 09 56 20 69 73 20 | 28 52 65 63 74 5e 2e 62 |-..V is |(Rect^.b|
|00001bd0| 6f 74 74 6f 6d 20 2d 20 | 52 65 63 74 5e 2e 74 6f |ottom - |Rect^.to|
|00001be0| 70 29 2f 2f 32 20 2b 20 | 52 65 63 74 5e 2e 74 6f |p)//2 + |Rect^.to|
|00001bf0| 70 2c 0d 09 48 20 69 73 | 20 28 52 65 63 74 5e 2e |p,..H is| (Rect^.|
|00001c00| 72 69 67 68 74 20 2d 20 | 52 65 63 74 5e 2e 6c 65 |right - |Rect^.le|
|00001c10| 66 74 29 2f 2f 32 20 2b | 20 52 65 63 74 5e 2e 6c |ft)//2 +| Rect^.l|
|00001c20| 65 66 74 2e 0d 0d 2f 2a | 2a 2a 2a 2a 2a 2a 2a 2a |eft.../*|********|
|00001c30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001c40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001c50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001c60| 2f 0d 2f 2a 0d 20 2a 20 | 48 65 72 65 20 69 73 20 |/./*. * |Here is |
|00001c70| 74 68 65 20 66 75 6e 63 | 74 69 6f 6e 20 74 68 61 |the func|tion tha|
|00001c80| 74 20 70 65 72 66 6f 72 | 6d 73 20 74 68 65 20 64 |t perfor|ms the d|
|00001c90| 65 6d 6f 20 77 68 65 6e | 20 74 68 65 20 64 65 6d |emo when| the dem|
|00001ca0| 6f 20 62 75 74 74 6f 6e | 20 69 73 20 70 75 73 68 |o button| is push|
|00001cb0| 65 64 2e 0d 20 2a 20 49 | 74 20 69 73 20 74 68 65 |ed.. * I|t is the|
|00001cc0| 20 66 75 6e 63 74 69 6f | 6e 20 61 73 73 6f 63 69 | functio|n associ|
|00001cd0| 61 74 65 64 20 77 69 74 | 68 20 74 68 65 20 22 44 |ated wit|h the "D|
|00001ce0| 65 6d 6f 22 20 62 75 74 | 74 6f 6e 2e 0d 20 2a 2f |emo" but|ton.. */|
|00001cf0| 0d 70 69 65 5f 63 68 61 | 72 74 5f 64 65 6d 6f 28 |.pie_cha|rt_demo(|
|00001d00| 5b 42 31 2c 20 42 32 2c | 20 42 33 2c 20 42 34 2c |[B1, B2,| B3, B4,|
|00001d10| 20 42 35 5d 2c 20 50 6c | 6f 74 42 75 74 74 6f 6e | B5], Pl|otButton|
|00001d20| 29 20 3a 2d 0d 09 77 61 | 74 63 68 5f 63 75 72 73 |) :-..wa|tch_curs|
|00001d30| 6f 72 2c 0d 09 73 65 74 | 5f 62 6f 78 5f 76 61 6c |or,..set|_box_val|
|00001d40| 75 65 28 42 31 2c 20 31 | 32 33 30 30 2c 20 22 43 |ue(B1, 1|2300, "C|
|00001d50| 41 20 53 61 6c 65 73 22 | 29 2c 0d 09 73 65 74 5f |A Sales"|),..set_|
|00001d60| 62 6f 78 5f 76 61 6c 75 | 65 28 42 32 2c 20 32 33 |box_valu|e(B2, 23|
|00001d70| 34 30 30 2c 20 22 4f 52 | 20 53 61 6c 65 73 22 29 |400, "OR| Sales")|
|00001d80| 2c 0d 09 73 65 74 5f 62 | 6f 78 5f 76 61 6c 75 65 |,..set_b|ox_value|
|00001d90| 28 42 33 2c 20 31 32 30 | 30 2c 20 22 57 41 20 53 |(B3, 120|0, "WA S|
|00001da0| 61 6c 65 73 22 29 2c 0d | 09 73 65 74 5f 62 6f 78 |ales"),.|.set_box|
|00001db0| 5f 76 61 6c 75 65 28 42 | 34 2c 20 30 2c 20 22 4e |_value(B|4, 0, "N|
|00001dc0| 6f 20 44 61 74 61 22 29 | 2c 0d 09 73 65 74 5f 62 |o Data")|,..set_b|
|00001dd0| 6f 78 5f 76 61 6c 75 65 | 28 42 35 2c 20 38 30 30 |ox_value|(B5, 800|
|00001de0| 30 2c 20 22 48 49 20 53 | 61 6c 65 73 22 29 2c 0d |0, "HI S|ales"),.|
|00001df0| 09 73 65 74 5f 76 61 6c | 75 65 28 50 6c 6f 74 42 |.set_val|ue(PlotB|
|00001e00| 75 74 74 6f 6e 2c 20 74 | 72 75 65 29 2e 0d 0d 2f |utton, t|rue).../|
|00001e10| 2a 0d 20 2a 20 53 65 74 | 20 6f 6e 65 20 76 61 6c |*. * Set| one val|
|00001e20| 75 65 0d 20 2a 2f 0d 73 | 65 74 5f 62 6f 78 5f 76 |ue. */.s|et_box_v|
|00001e30| 61 6c 75 65 28 5b 42 31 | 2c 20 44 31 5d 2c 20 56 |alue([B1|, D1], V|
|00001e40| 61 6c 75 65 2c 20 54 65 | 78 74 29 20 3a 2d 0d 09 |alue, Te|xt) :-..|
|00001e50| 73 65 74 5f 76 61 6c 75 | 65 28 42 31 2c 20 56 61 |set_valu|e(B1, Va|
|00001e60| 6c 75 65 29 2c 0d 09 73 | 65 6c 65 63 74 5f 61 6c |lue),..s|elect_al|
|00001e70| 6c 28 44 31 29 2c 0d 09 | 6c 6f 63 61 6c 5f 63 61 |l(D1),..|local_ca|
|00001e80| 6c 6c 28 44 31 2c 20 70 | 61 73 74 65 28 44 31 2c |ll(D1, p|aste(D1,|
|00001e90| 20 60 54 45 58 54 60 2c | 20 5f 2c 20 54 65 78 74 | `TEXT`,| _, Text|
|00001ea0| 2c 20 5f 29 29 2e 0d 0d | 2f 2a 2a 2a 2a 2a 2a 2a |, _))...|/*******|
|00001eb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ec0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ed0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ee0| 2a 2a 2f 0d 2f 2a 0d 20 | 2a 20 54 68 69 73 20 64 |**/./*. |* This d|
|00001ef0| 65 66 69 6e 65 73 20 74 | 68 65 20 73 68 69 66 74 |efines t|he shift|
|00001f00| 20 6b 65 79 73 20 66 6f | 72 20 74 68 65 20 70 69 | keys fo|r the pi|
|00001f10| 65 20 63 68 61 72 74 20 | 77 69 6e 64 6f 77 20 74 |e chart |window t|
|00001f20| 6f 0d 20 2a 20 61 6c 6c | 6f 77 20 74 68 65 6d 20 |o. * all|ow them |
|00001f30| 74 6f 20 6d 6f 76 65 20 | 62 61 63 6b 20 61 6e 64 |to move |back and|
|00001f40| 20 66 6f 72 74 68 20 62 | 65 74 77 65 65 6e 20 65 | forth b|etween e|
|00001f50| 6e 74 72 79 20 62 6f 78 | 65 73 2e 0d 20 2a 20 54 |ntry box|es.. * T|
|00001f60| 68 69 73 20 69 73 20 62 | 65 63 61 75 73 65 2c 20 |his is b|ecause, |
|00001f70| 77 65 20 64 69 64 20 6e | 6f 74 20 77 69 73 68 20 |we did n|ot wish |
|00001f80| 74 6f 20 6d 61 6b 65 20 | 74 68 69 73 20 77 69 6e |to make |this win|
|00001f90| 64 6f 77 20 0d 20 2a 20 | 61 20 64 69 61 6c 6f 67 |dow . * |a dialog|
|00001fa0| 20 62 6f 78 2c 20 62 75 | 74 20 61 20 62 61 73 69 | box, bu|t a basi|
|00001fb0| 63 20 77 69 6e 64 6f 77 | 2e 0d 20 2a 20 41 20 64 |c window|.. * A d|
|00001fc0| 69 61 6c 6f 67 20 77 69 | 6e 64 6f 77 20 77 6f 75 |ialog wi|ndow wou|
|00001fd0| 6c 64 20 6e 6f 74 20 68 | 61 76 65 20 6c 65 74 20 |ld not h|ave let |
|00001fe0| 75 73 20 73 77 69 74 63 | 68 20 74 6f 20 6f 74 68 |us switc|h to oth|
|00001ff0| 65 72 20 77 69 6e 64 6f | 77 73 2e 0d 20 2a 0d 20 |er windo|ws.. *. |
|00002000| 2a 20 57 65 20 74 6f 6f | 6b 20 74 68 69 73 20 66 |* We too|k this f|
|00002010| 72 6f 6d 20 74 68 65 20 | 62 61 73 69 63 20 64 69 |rom the |basic di|
|00002020| 61 6c 6f 67 20 64 65 66 | 69 6e 69 74 69 6f 6e 73 |alog def|initions|
|00002030| 20 69 6e 20 0d 20 2a 20 | 22 3a 3a 45 6e 76 69 72 | in . * |"::Envir|
|00002040| 6f 6e 6d 65 6e 74 3a 62 | 61 73 69 63 20 64 69 61 |onment:b|asic dia|
|00002050| 6c 6f 67 2e 70 22 2e 0d | 20 2a 20 54 61 62 20 67 |log.p"..| * Tab g|
|00002060| 6f 65 73 20 66 6f 72 77 | 61 72 64 2e 0d 20 2a 2f |oes forw|ard.. */|
|00002070| 0d 0d 73 65 6c 65 63 74 | 5f 6e 65 77 5f 61 63 74 |..select|_new_act|
|00002080| 69 76 65 5f 6f 62 6a 65 | 63 74 28 57 69 6e 64 6f |ive_obje|ct(Windo|
|00002090| 77 2c 20 41 63 74 69 76 | 65 4f 62 6a 65 63 74 73 |w, Activ|eObjects|
|000020a0| 2c 20 4e 65 78 74 29 20 | 3a 2d 0d 09 6e 74 68 65 |, Next) |:-..nthe|
|000020b0| 6c 65 6d 28 41 63 74 69 | 76 65 4f 62 6a 65 63 74 |lem(Acti|veObject|
|000020c0| 73 2c 20 4e 65 78 74 2c | 20 4e 65 77 41 63 74 69 |s, Next,| NewActi|
|000020d0| 76 65 4f 62 6a 65 63 74 | 29 2c 0d 09 28 09 61 63 |veObject|),..(.ac|
|000020e0| 74 69 76 65 5f 6f 62 6a | 65 63 74 28 57 69 6e 64 |tive_obj|ect(Wind|
|000020f0| 6f 77 2c 20 4e 65 77 41 | 63 74 69 76 65 4f 62 6a |ow, NewA|ctiveObj|
|00002100| 65 63 74 29 0d 09 3b 09 | 73 65 74 5f 61 63 74 69 |ect)..;.|set_acti|
|00002110| 76 65 28 57 69 6e 64 6f | 77 2c 20 4e 65 77 41 63 |ve(Windo|w, NewAc|
|00002120| 74 69 76 65 4f 62 6a 65 | 63 74 29 2c 0d 09 09 73 |tiveObje|ct),...s|
|00002130| 65 6c 65 63 74 5f 61 6c | 6c 28 4e 65 77 41 63 74 |elect_al|l(NewAct|
|00002140| 69 76 65 4f 62 6a 65 63 | 74 29 0d 09 29 2c 0d 09 |iveObjec|t)..),..|
|00002150| 21 2e 0d 09 0d 66 69 6e | 64 5f 6f 6c 64 5f 61 63 |!....fin|d_old_ac|
|00002160| 74 69 76 65 5f 6f 62 6a | 65 63 74 28 57 69 6e 64 |tive_obj|ect(Wind|
|00002170| 6f 77 2c 20 41 63 74 69 | 76 65 4f 62 6a 65 63 74 |ow, Acti|veObject|
|00002180| 73 2c 20 50 6f 73 69 74 | 69 6f 6e 29 20 3a 2d 0d |s, Posit|ion) :-.|
|00002190| 09 62 61 67 6f 66 28 4f | 62 6a 65 63 74 2c 20 28 |.bagof(O|bject, (|
|000021a0| 73 75 62 6f 62 6a 65 63 | 74 28 57 69 6e 64 6f 77 |subobjec|t(Window|
|000021b0| 2c 20 4f 62 6a 65 63 74 | 29 2c 20 0d 09 09 09 20 |, Object|), .... |
|000021c0| 20 20 20 63 61 6e 5f 62 | 65 5f 61 63 74 69 76 65 | can_b|e_active|
|000021d0| 28 4f 62 6a 65 63 74 2c | 20 74 72 75 65 2c 20 74 |(Object,| true, t|
|000021e0| 72 75 65 29 29 2c 20 0d | 09 09 20 41 63 74 69 76 |rue)), .|.. Activ|
|000021f0| 65 4f 62 6a 65 63 74 73 | 29 2c 0d 09 61 63 74 69 |eObjects|),..acti|
|00002200| 76 65 5f 6f 62 6a 65 63 | 74 28 57 69 6e 64 6f 77 |ve_objec|t(Window|
|00002210| 2c 20 41 63 74 69 76 65 | 4f 62 6a 65 63 74 29 2c |, Active|Object),|
|00002220| 0d 09 6e 74 68 65 6c 65 | 6d 28 41 63 74 69 76 65 |..nthele|m(Active|
|00002230| 4f 62 6a 65 63 74 73 2c | 20 50 6f 73 69 74 69 6f |Objects,| Positio|
|00002240| 6e 2c 20 41 63 74 69 76 | 65 4f 62 6a 65 63 74 29 |n, Activ|eObject)|
|00002250| 2e 0d 0d 73 65 74 5f 6c | 61 73 74 5f 61 63 74 69 |...set_l|ast_acti|
|00002260| 76 65 5f 6f 62 6a 65 63 | 74 28 57 69 6e 64 6f 77 |ve_objec|t(Window|
|00002270| 29 20 3a 2d 0d 09 66 69 | 6e 64 5f 6f 6c 64 5f 61 |) :-..fi|nd_old_a|
|00002280| 63 74 69 76 65 5f 6f 62 | 6a 65 63 74 28 57 69 6e |ctive_ob|ject(Win|
|00002290| 64 6f 77 2c 20 41 63 74 | 69 76 65 4f 62 6a 65 63 |dow, Act|iveObjec|
|000022a0| 74 73 2c 20 50 6f 73 69 | 74 69 6f 6e 29 2c 0d 09 |ts, Posi|tion),..|
|000022b0| 28 09 50 6f 73 69 74 69 | 6f 6e 20 3c 20 6c 65 6e |(.Positi|on < len|
|000022c0| 67 74 68 28 41 63 74 69 | 76 65 4f 62 6a 65 63 74 |gth(Acti|veObject|
|000022d0| 73 29 20 2d 3e 20 4e 65 | 78 74 20 69 73 20 50 6f |s) -> Ne|xt is Po|
|000022e0| 73 69 74 69 6f 6e 20 2b | 20 31 0d 09 3b 09 4e 65 |sition +| 1..;.Ne|
|000022f0| 78 74 20 69 73 20 31 0d | 09 29 2c 0d 09 73 65 6c |xt is 1.|.),..sel|
|00002300| 65 63 74 5f 6e 65 77 5f | 61 63 74 69 76 65 5f 6f |ect_new_|active_o|
|00002310| 62 6a 65 63 74 28 57 69 | 6e 64 6f 77 2c 20 41 63 |bject(Wi|ndow, Ac|
|00002320| 74 69 76 65 4f 62 6a 65 | 63 74 73 2c 20 4e 65 78 |tiveObje|cts, Nex|
|00002330| 74 29 2e 0d 0d 73 65 74 | 5f 6e 65 78 74 5f 61 63 |t)...set|_next_ac|
|00002340| 74 69 76 65 5f 6f 62 6a | 65 63 74 28 57 69 6e 64 |tive_obj|ect(Wind|
|00002350| 6f 77 29 20 3a 2d 0d 09 | 66 69 6e 64 5f 6f 6c 64 |ow) :-..|find_old|
|00002360| 5f 61 63 74 69 76 65 5f | 6f 62 6a 65 63 74 28 57 |_active_|object(W|
|00002370| 69 6e 64 6f 77 2c 20 41 | 63 74 69 76 65 4f 62 6a |indow, A|ctiveObj|
|00002380| 65 63 74 73 2c 20 50 6f | 73 69 74 69 6f 6e 29 2c |ects, Po|sition),|
|00002390| 0d 09 28 09 50 6f 73 69 | 74 69 6f 6e 20 3e 20 31 |..(.Posi|tion > 1|
|000023a0| 20 2d 3e 20 4e 65 78 74 | 20 69 73 20 50 6f 73 69 | -> Next| is Posi|
|000023b0| 74 69 6f 6e 20 2d 20 31 | 0d 09 3b 09 6c 65 6e 67 |tion - 1|..;.leng|
|000023c0| 74 68 28 41 63 74 69 76 | 65 4f 62 6a 65 63 74 73 |th(Activ|eObjects|
|000023d0| 2c 20 4e 65 78 74 29 0d | 09 29 2c 0d 09 73 65 6c |, Next).|.),..sel|
|000023e0| 65 63 74 5f 6e 65 77 5f | 61 63 74 69 76 65 5f 6f |ect_new_|active_o|
|000023f0| 62 6a 65 63 74 28 57 69 | 6e 64 6f 77 2c 20 41 63 |bject(Wi|ndow, Ac|
|00002400| 74 69 76 65 4f 62 6a 65 | 63 74 73 2c 20 4e 65 78 |tiveObje|cts, Nex|
|00002410| 74 29 2e 0d 0d 3a 2d 20 | 64 65 66 69 6e 65 5f 6b |t)...:- |define_k|
|00002420| 65 79 5f 63 6f 6d 6d 61 | 6e 64 28 70 69 65 5f 63 |ey_comma|nd(pie_c|
|00002430| 68 61 72 74 5f 77 69 6e | 64 6f 77 2c 60 5c 74 60 |hart_win|dow,`\t`|
|00002440| 2c 20 5b 5d 2c 20 5b 5d | 2c 20 0d 09 09 73 65 74 |, [], []|, ...set|
|00002450| 5f 6e 65 78 74 5f 61 63 | 74 69 76 65 5f 6f 62 6a |_next_ac|tive_obj|
|00002460| 65 63 74 28 61 63 74 69 | 76 65 5f 77 69 6e 64 6f |ect(acti|ve_windo|
|00002470| 77 29 29 2e 0d 0d 2f 2a | 0d 20 2a 20 53 68 69 66 |w)).../*|. * Shif|
|00002480| 74 20 74 61 62 20 67 6f | 65 73 20 62 61 63 6b 77 |t tab go|es backw|
|00002490| 61 72 64 2e 0d 20 2a 2f | 0d 3a 2d 20 64 65 66 69 |ard.. */|.:- defi|
|000024a0| 6e 65 5f 6b 65 79 5f 63 | 6f 6d 6d 61 6e 64 28 70 |ne_key_c|ommand(p|
|000024b0| 69 65 5f 63 68 61 72 74 | 5f 77 69 6e 64 6f 77 2c |ie_chart|_window,|
|000024c0| 60 5c 74 60 2c 20 5b 73 | 68 69 66 74 5d 2c 20 5b |`\t`, [s|hift], [|
|000024d0| 5d 2c 20 0d 09 09 73 65 | 74 5f 6c 61 73 74 5f 61 |], ...se|t_last_a|
|000024e0| 63 74 69 76 65 5f 6f 62 | 6a 65 63 74 28 61 63 74 |ctive_ob|ject(act|
|000024f0| 69 76 65 5f 77 69 6e 64 | 6f 77 29 29 2e 0d 0d 2f |ive_wind|ow)).../|
|00002500| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002510| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002520| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002530| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 2f 2a 0d 20 2a |********|*/./*. *|
|00002540| 20 54 68 69 73 20 70 75 | 74 73 20 75 70 20 61 20 | This pu|ts up a |
|00002550| 77 69 6e 64 6f 77 20 66 | 6f 72 20 71 75 65 72 69 |window f|or queri|
|00002560| 6e 67 20 61 62 6f 75 74 | 20 77 68 61 74 20 73 6f |ng about| what so|
|00002570| 75 72 63 65 20 79 6f 75 | 20 77 69 73 68 20 74 6f |urce you| wish to|
|00002580| 20 73 65 65 2e 0d 20 2a | 20 54 68 69 73 20 69 73 | see.. *| This is|
|00002590| 20 74 68 65 20 66 75 6e | 63 74 69 6f 6e 20 61 73 | the fun|ction as|
|000025a0| 73 6f 63 69 61 74 65 64 | 20 77 69 74 68 20 74 68 |sociated| with th|
|000025b0| 65 20 22 53 65 65 20 53 | 6f 75 72 63 65 22 20 62 |e "See S|ource" b|
|000025c0| 75 74 74 6f 6e 2e 0d 20 | 2a 0d 20 2a 20 46 69 72 |utton.. |*. * Fir|
|000025d0| 73 74 20 64 6f 6e 27 74 | 20 63 72 65 61 74 65 20 |st don't| create |
|000025e0| 61 20 6e 65 77 20 73 65 | 65 20 73 6f 75 72 63 65 |a new se|e source|
|000025f0| 20 77 69 6e 64 6f 77 20 | 69 66 20 69 74 20 61 6c | window |if it al|
|00002600| 72 65 61 64 79 20 65 78 | 69 73 74 73 2e 0d 20 2a |ready ex|ists.. *|
|00002610| 2f 0d 73 65 65 5f 73 6f | 75 72 63 65 20 3a 2d 0d |/.see_so|urce :-.|
|00002620| 09 77 69 6e 64 6f 77 5f | 6e 61 6d 65 28 57 2c 20 |.window_|name(W, |
|00002630| 30 2c 20 22 53 65 65 20 | 53 6f 75 72 63 65 20 46 |0, "See |Source F|
|00002640| 6f 72 c9 22 29 2c 0d 09 | 21 2c 0d 09 73 65 74 5f |or."),..|!,..set_|
|00002650| 61 63 74 69 76 65 28 57 | 29 2e 0d 73 65 65 5f 73 |active(W|)..see_s|
|00002660| 6f 75 72 63 65 20 3a 2d | 0d 09 63 72 65 61 74 65 |ource :-|..create|
|00002670| 28 62 61 73 69 63 5f 77 | 69 6e 64 6f 77 2c 20 53 |(basic_w|indow, S|
|00002680| 6f 75 72 63 65 2c 20 5b | 31 35 30 2c 20 31 35 30 |ource, [|150, 150|
|00002690| 2c 20 33 35 30 2c 20 34 | 35 30 5d 2c 20 22 53 65 |, 350, 4|50], "Se|
|000026a0| 65 20 53 6f 75 72 63 65 | 20 46 6f 72 c9 22 29 2c |e Source| For."),|
|000026b0| 0d 09 63 72 65 61 74 65 | 28 64 69 73 70 6c 61 79 |..create|(display|
|000026c0| 5f 74 65 78 74 2c 20 5f | 2c 20 5b 31 30 2c 20 31 |_text, _|, [10, 1|
|000026d0| 30 2c 20 35 30 2c 20 33 | 30 30 5d 2c 20 53 6f 75 |0, 50, 3|00], Sou|
|000026e0| 72 63 65 2c 0d 09 09 22 | 44 6f 75 62 6c 65 20 43 |rce,..."|Double C|
|000026f0| 6c 69 63 6b 20 6f 6e 20 | 61 6e 20 69 74 65 6d 20 |lick on |an item |
|00002700| 62 65 6c 6f 77 20 74 6f | 20 73 65 65 0d 74 68 65 |below to| see.the|
|00002710| 20 73 6f 75 72 63 65 20 | 66 6f 72 20 69 74 3a 22 | source |for it:"|
|00002720| 2c 20 5b 5d 2c 20 73 79 | 73 74 65 6d 2c 20 30 2c |, [], sy|stem, 0,|
|00002730| 20 5f 2c 20 66 61 6c 73 | 65 29 2c 0d 09 63 72 65 | _, fals|e),..cre|
|00002740| 61 74 65 28 64 69 73 70 | 6c 61 79 5f 6c 69 73 74 |ate(disp|lay_list|
|00002750| 2c 20 5f 2c 20 5b 36 30 | 2c 20 33 30 2c 20 31 38 |, _, [60|, 30, 18|
|00002760| 30 2c 20 32 38 30 5d 2c | 20 53 6f 75 72 63 65 2c |0, 280],| Source,|
|00002770| 0d 09 09 5b 5b 22 54 68 | 69 73 20 57 69 6e 64 6f |...[["Th|is Windo|
|00002780| 77 22 2c 20 73 65 65 5f | 73 6f 75 72 63 65 2f 30 |w", see_|source/0|
|00002790| 5d 2c 0d 09 09 20 5b 22 | 43 72 65 61 74 65 20 50 |],... ["|Create P|
|000027a0| 69 65 20 43 68 61 72 74 | 20 57 69 6e 64 6f 77 22 |ie Chart| Window"|
|000027b0| 2c 20 63 72 65 61 74 65 | 5f 70 69 65 5f 63 68 61 |, create|_pie_cha|
|000027c0| 72 74 5f 77 69 6e 64 6f | 77 2f 31 5d 2c 0d 09 09 |rt_windo|w/1],...|
|000027d0| 20 5b 22 43 72 65 61 74 | 65 20 50 69 65 20 43 68 | ["Creat|e Pie Ch|
|000027e0| 61 72 74 22 2c 20 70 6c | 6f 74 5f 70 69 65 5f 63 |art", pl|ot_pie_c|
|000027f0| 68 61 72 74 2f 31 5d 2c | 0d 09 09 20 5b 22 44 65 |hart/1],|... ["De|
|00002800| 6d 6f 20 50 69 65 20 43 | 68 61 72 74 22 2c 20 70 |mo Pie C|hart", p|
|00002810| 69 65 5f 63 68 61 72 74 | 5f 64 65 6d 6f 2f 32 5d |ie_chart|_demo/2]|
|00002820| 2c 0d 09 09 20 5b 22 50 | 69 65 20 57 65 64 67 65 |,... ["P|ie Wedge|
|00002830| 20 4c 61 62 65 6c 73 22 | 2c 20 73 68 6f 77 5f 64 | Labels"|, show_d|
|00002840| 65 73 63 72 69 70 74 69 | 6f 6e 2f 33 5d 5d 2c 20 |escripti|on/3]], |
|00002850| 5f 2c 0d 09 09 28 76 61 | 6c 75 65 20 3d 20 46 75 |_,...(va|lue = Fu|
|00002860| 6e 63 74 6f 72 2f 41 72 | 69 74 79 2c 20 65 64 69 |nctor/Ar|ity, edi|
|00002870| 74 28 46 75 6e 63 74 6f | 72 2c 20 41 72 69 74 79 |t(Functo|r, Arity|
|00002880| 29 29 29 2e 0d 2f 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |)))../**|********|
|00002890| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000028a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000028b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2f |********|*******/|
|000028c0| 0d 0d 2f 2a 0d 20 2a 20 | 4e 6f 77 20 63 72 65 61 |../*. * |Now crea|
|000028d0| 74 65 20 74 68 65 20 77 | 69 6e 64 6f 77 20 66 6f |te the w|indow fo|
|000028e0| 72 20 74 68 65 20 65 78 | 61 6d 70 6c 65 20 70 72 |r the ex|ample pr|
|000028f0| 6f 67 72 61 6d 3a 0d 20 | 2a 2f 0d 3a 2d 20 63 72 |ogram:. |*/.:- cr|
|00002900| 65 61 74 65 28 70 69 65 | 5f 63 68 61 72 74 5f 77 |eate(pie|_chart_w|
|00002910| 69 6e 64 6f 77 2c 20 5f | 2c 20 5b 34 30 2c 20 31 |indow, _|, [40, 1|
|00002920| 30 2c 20 33 30 35 2c 20 | 34 35 30 5d 2c 20 22 50 |0, 305, |450], "P|
|00002930| 69 65 20 43 68 61 72 74 | 20 45 78 61 6d 70 6c 65 |ie Chart| Example|
|00002940| 22 29 2c 61 62 6f 72 74 | 2e 0d 2f 2a 0d 20 2a 20 |"),abort|../*. * |
|00002950| 49 66 20 79 6f 75 20 6c | 6f 61 64 20 74 68 69 73 |If you l|oad this|
|00002960| 20 6e 6f 74 20 69 6e 73 | 69 64 65 20 74 68 65 20 | not ins|ide the |
|00002970| 70 72 6f 6c 6f 67 20 69 | 6e 74 65 72 70 72 65 74 |prolog i|nterpret|
|00002980| 65 72 2c 20 79 6f 75 20 | 6d 75 73 74 20 63 68 61 |er, you |must cha|
|00002990| 6e 67 65 20 61 62 6f 72 | 74 20 74 6f 20 77 61 69 |nge abor|t to wai|
|000029a0| 74 20 61 62 6f 76 65 2e | 0d 20 2a 2f 0d 20 00 00 |t above.|. */. ..|
|000029b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a00| 00 00 01 00 00 00 01 22 | 00 00 00 22 00 00 00 5a |......."|..."...Z|
|00002a10| 48 c4 00 01 00 00 00 00 | 05 00 01 a8 e0 04 00 01 |H.......|........|
|00002a20| 1b 6c 08 05 00 02 1e 9c | 05 00 01 a3 34 04 00 00 |.l......|....4...|
|00002a30| 0b 70 69 65 20 63 68 61 | 72 74 2e 70 02 00 00 00 |.pie cha|rt.p....|
|00002a40| 54 45 58 54 41 49 46 43 | 01 00 00 50 00 60 00 00 |TEXTAIFC|...P.`..|
|00002a50| 00 00 54 45 58 54 41 49 | 46 43 01 00 00 50 00 60 |..TEXTAI|FC...P.`|
|00002a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a70| 00 00 a5 f7 7f 91 00 00 | 29 2e 00 00 01 7c 00 01 |........|)....|..|
|00002a80| 00 00 00 0e 04 88 00 00 | 0b 24 00 00 00 78 00 00 |........|.$...x..|
|00002a90| 00 1b 00 00 00 00 00 00 | 00 02 00 00 00 00 00 04 |........|........|
|00002aa0| 03 a8 81 20 4f 4e f9 00 | 00 00 00 00 0e 00 02 00 |... ON..|........|
|00002ab0| 00 00 1d 00 02 00 00 00 | 1d 00 00 00 62 00 00 00 |........|....b...|
|00002ac0| 18 00 00 00 00 00 03 00 | 00 00 00 00 08 02 a8 3a |........|.......:|
|00002ad0| 4e f9 00 00 ff ff ff ff | 00 04 00 00 00 3d 00 01 |N.......|.....=..|
|00002ae0| 00 00 00 0c 00 01 00 00 | 00 0e 00 00 00 4e 00 00 |........|.....N..|
|00002af0| 00 1e 00 00 00 00 00 00 | 00 03 00 00 00 01 00 00 |........|........|
|00002b00| 00 00 00 0a 00 09 06 47 | 65 6e 65 76 61 ff 00 00 |.......G|eneva...|
|00002b10| 00 08 00 5a 00 0e 01 56 | 01 c7 00 00 00 04 00 18 |...Z...V|........|
|00002b20| 00 08 00 00 01 00 00 00 | 01 22 00 00 00 22 00 00 |........|."..."..|
|00002b30| 00 5a 00 28 d6 38 07 b8 | 00 00 00 1c 00 5a 00 02 |.Z.(.8..|.....Z..|
|00002b40| 45 46 4e 54 00 00 00 1a | 45 57 4e 44 00 00 00 26 |EFNT....|EWND...&|
|00002b50| 45 54 41 42 00 00 00 32 | 03 eb ff ff 00 00 00 00 |ETAB...2|........|
|00002b60| 00 29 1b 80 01 00 ff ff | 00 00 00 0e 00 29 32 08 |.)......|.....)2.|
|00002b70| 03 ec ff ff 00 00 00 1a | 00 29 25 6c 00 00 00 00 |........|.)%l....|
+--------+-------------------------+-------------------------+--------+--------+